package com.lanchetech.admin.service;


import com.lanchetech.bean.request.PageReq;
import com.lanchetech.bean.response.BasePageResp;
import com.lanchetech.bean.response.BaseResp;
import com.lanchetech.bean.response.ResultData;
import com.lanchetech.bean.vo.AdminHomeStatisticsVO;
import com.lanchetech.bean.vo.CustomPageEditVO;
import com.lanchetech.bean.vo.OnePostVO;
import com.lanchetech.entity.*;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

public interface WebService {
    ResultData<List<WebConfig>> getAllWebConfig();

    BaseResp modifyWebConfig(WebConfig webConfig);

    ResultData<List<HipoConfig>> getHipoConfigList();

    BaseResp modifyHipoConfig(HipoConfig req);

    ResultData<AdminHomeStatisticsVO> getHomeStatistics();

    BaseResp editBanner(Banner banner);

    ResultData<BasePageResp<Banner>> getBannerPage(PageReq req);

    BaseResp editNavigation(Navigation navigation);

    ResultData<BasePageResp<Navigation>> getNavigationPage(PageReq req);

    ResultData<Banner> getBannerDetail(Long id);

    BaseResp deleteBanner(Long id);

    ResultData<Navigation> getNavigationDetail(Long id);

    BaseResp deleteNavigation(Long id);

    ResultData<BasePageResp<Advertisement>> getAdvertisementPage(PageReq req);

    ResultData<Advertisement> getAdvertisementDetail(Long id);

    BaseResp deleteAdvertisement(Long id);

    BaseResp editAdvertisement(Advertisement advertisement);

    BaseResp editCustomPage(CustomPageEditVO req);

    ResultData<CustomPageEditVO> getCustomPageDetail( Long id);

    BaseResp deleteCustomPage(Long id);

    ResultData<BasePageResp<CustomPage>> getCustomPage(PageReq req);

    BaseResp editPoster(Poster poster);

    ResultData<BasePageResp<Poster>> getPosterPage(PageReq req);

    ResultData<Poster> getPosterDetail(Long id);

    BaseResp deletePoster(Long id);

    BaseResp editOnePost(OnePost onePost);

    ResultData<BasePageResp<OnePost>> getOnePostPage(PageReq req);

    ResultData<OnePostVO> getOnePostDetail(Long id);

    BaseResp deleteOnePost(Long id);
}